package com.example.thread.d2取钱案例同步代码块;

public class ThreadTest {
    // 同步代码块：把访问共享资源的核心代码给上锁，以此保证线程安全
    // 注意：对于当前同时执行的线程来说，同步锁必须是同一把（同一个对象），
    // 否则会出bug,对于实例方法建议使用this作为锁对象
//    对于静态方法建议使用字节码（类名.class)对象作为锁对象
    public static void main(String[] args) {
        // 创建一个账号对象，代表两个人的共享账户
        Account account = new Account("ABC--001",100000);
        // 创建两个线程，分别代表小明，小红，再去同一个账户对象取钱10万
        new DrawThread(account,"小明").start();// 小明
        new DrawThread(account,"小红").start();// 小红
    }
}
